<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>13.数组的拆分与合并操作</title>
</head>

<body>
  <script>
    let str = "hdcms,houdunren,hdcms";
    let hd = str.split(',')
    console.log(hd);//(3) ['hdcms', 'houdunren', 'hdcms']
    let str2 = hd.join('-'); //数组连接成字符串，相当于反向split
    console.log(str2);//hdcms-houdunren-hdcms

    let hd2 = [1, 2, 3, 4];
    let hd3 = ["shop", "后盾人"];
    let array = hd.concat(hd2, hd3);//合并数组,元素是值类型的是复制操作，如果是引用类型还是指向同一对象
    console.log(array);//(9) ['hdcms', 'houdunren', 'hdcms', 1, 2, 3, 4, 'shop', '后盾人']
    // 用 concat其实是和...语法一样，...语法更清晰
    console.log([...hd, ...hd2, ...hd3]);//(9) ['hdcms', 'houdunren', 'hdcms', 1, 2, 3, 4, 'shop', '后盾人']
    //copyWithin从数组中复制一部分到同数组中的另外位置
    // target	必需。复制到指定目标索引位置。
    // start	可选。元素复制的起始位置。
    // end  	可选。停止复制的索引位置(默认为 array.length)。如果为负值，表示倒数。
    let hd4 = [1,2,3,4];
    console.log(hd4.copyWithin(2,0,2));// (4)[1, 2, 1, 2]
    let hd5 = [1,2,3,4,5,6]; //2,3换4,5
    console.log(hd5.copyWithin(3,1,3));//(6) [1, 2, 3, 2, 3, 6]


  </script>
</body>

</html>